草庐IT

javascript - RequireJS 和 JS 模块模式

全部标签

ruby - 如何在 javascript 定义的 haml 中运行 ruby​​?

如何在haml中的javascript中运行ruby​​代码?如果我在示例中使用var=#{message},我会得到undefinedlocalvariableormethodmessage当我将-message='itworks'移动到:javascript上方时,一切正常我想在:javascript中运行iteration.each。请参阅最后一个代码示例,了解我在最终javascript代码中需要的内容。我需要在哪里循环几个ruby​​变量(或一个散列的散列?)来获得它。数据(='basics')可以有很少的元素。它可以有元素很少的child等。所以这个haml代码%html%

ruby-on-rails - 我可以在 render.js 上执行的 View 中使用 CoffeeScript 吗?

我需要做什么才能在RailsJSView中使用CoffeeScript?例如:defindexformat.js{render:layout=>false}end我需要做什么才能让Rails使用index.js.coffee? 最佳答案 Johnny的回答是正确的。如果您查看pullrequest链接到CoffeeBeans页面,你有dhh说Oncewehaveafast,cleanimplementation,it'swelcomeincore.3.2isamorelikelytarget,though.我在Railsconf上与

Ruby:扩展/包含模块的模块

我正在努力更好地理解模块如何相互扩展和包含。假设我有模块A:moduleAdeflearned_from_AtrueendendA.instance_methods#[:learned_from_A]我将它的技巧混合到B中:moduleBextendAendB.learned_from_A#true我天真地试图给CB拥有的一切:moduleCextendBendC.learned_from_A#NoMethodError我想我已经解决了这个问题。当B扩展A时,A的实例方法的副本通过B的单例类绑定(bind)到B:B.singleton_methods#[:learned_from_A]

ruby - Ruby 模块包含为什么不是真正的 'multiple inheritance' 以及 Ruby 风格如何避免与多重继承相关的问题?

据说Matz说“mixins几乎可以做多重继承做的所有事情,而没有相关的缺点”(Matz的话)。首先,为什么Ruby模块包含不是“多重继承”?在我看来,模块和类之间的区别很小。当模块用作父类(superclass)时,不能实例化模块这一事实是无关紧要的。我也知道,连续的模块包含形成了一个从类向上延伸的继承链(不是树)。但是,对我来说,这不足以将它与“多重继承”区分开来,因为Python多重继承系统也“线性化”了父类(superclass)链(使用C3algorithm),只是Ruby的“线性化”过程要简单得多。那么,Ruby模块混入与Python等语言中的多重继承究竟有什么区别呢?为什

ruby-on-rails - 测试使用 ActiveRecord 的关注点/模块

场景我提取了一个名为Taggable的关注点。它是一个允许任何模型支持标记的模块。我已将此关注点/模块包含到模型中,例如User、Location、Places、Projects。我想为这个模块编写测试,但不知道从哪里开始。问题1。我可以对Taggable问题进行隔离测试吗?在下面的示例中,测试失败是因为测试正在查找dummy_class表。我假设它这样做是因为Taggable中的has_many代码,因此它期望'DummyClass'是一个ActiveRecord对象。#/app/models/concerns/taggable.rbmoduleTaggableextendActiv

ruby-on-rails - 具有存储库模式的 Ruby on Rails?

在使用ASP.NetMVC之后,我想到了Rails。我之前使用过Rails,但有点生疏。ASP.NetMVC教程建议使用存储库模式隐藏数据层实现。这允许更容易的单元测试依赖注入(inject),以及Controller与模型实现的良好解耦。我记得Rails的Controller直接使用ActiveRecord对象,单元测试使用可以轻松设置和拆除的测试数据库。这解决了换出单元测试的需要,但在Controller中暴露这么多ActiveRecord代码似乎仍然不是一个好主意。所以我的问题是,最新的最佳实践是什么?真实的(不是模拟的)数据库是否仍然用于单元测试?Rails开发人员是直接调用A

ruby - 内省(introspection)模块类时 "#map(&proc)"习惯用法如何工作?

呈现成语我找到了一个interestingbutunexplainedalternative到一个公认的答案。该代码在REPL中显然有效。例如:moduleFooclassBardefbazendendendFoo.constants.map(&Foo.method(:const_get)).grep(Class)=>[Foo::Bar]但是,我并不完全理解这里使用的成语。特别是,我不明白&Foo的用法,它似乎是某种闭包,或者#grep的这种特定调用如何对结果进行操作。解析成语到目前为止,我已经能够解析其中的点点滴滴,但我并没有真正看到它们是如何组合在一起的。以下是我认为对示例代码的理

ruby - 如何获得 JavaScript 样式的哈希访问?

我知道ActiveSupport提供了此功能。h=ActiveSupport::OrderedOptions.newh.boy='John'h.girl='Mary'h.boy#=>'John'h.girl#=>'Mary'但是我已经有一个很大的散列,我想使用点表示法访问该散列。这是我尝试过的:large_hash={boy:'John',girl:'Mary'}h=ActiveSupport::OrderedOptions.new(large_hash)h.boy#=>nil那没有用。我怎样才能使这项工作。我正在使用ruby1.9.2更新:抱歉,我应该提到我不能使用openstruc

ruby - 判断祖先是Ruby中的类还是模块的方法?

如果我有一个像下面这样的类,我如何判断祖先是类还是模块?ActiveRecord::Base.send(:include,SomeLibrary)classGroup["SubGroup","SomeLibrary::Core::InstanceMethods","SomeLibrary::Core","Group","ActiveRecord::Base","SomeLibrary","ActiveRecord::Aggregations","ActiveRecord::Transactions","ActiveRecord::Reflection","ActiveRecord::B

ruby - "extend self"是实用模块的反模式吗?

关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.7年前关闭。ImprovethisquestionSteveKlabnik最近在pullrequest中说对于实用程序模块:[Thecode]obscuresthefactthattheseareclassmethods,andwewanttousethemthatway.Plus,Ithinkthatextendselfisgenerallyananti-pattern,andshouldn'treallybeusedexcepti